package com.foreknow.demo14;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 * JDBC：Java中连接数据库的一种技术
 * JDBC的操作流程
 * 1.加载驱动
 * 2.获取连接
 * 3.获取到PreparedStatement用于执行动态SQL
 * 4.查询：executeQuery()  增删改：executeUpdate()---DML
 * 5.关闭资源
 */
public class JDBCUtil {
    public static void main(String[] args) {
        try {
            //1.加载驱动 jdbc驱动类：5.7:com.mysql.jdbc.Driver  8.0:com.mysql.cj.jdbc.Driver
            Class.forName("com.mysql.jdbc.Driver");
            //2.获取连接
           Connection conn = DriverManager.getConnection(
                   "jdbc:mysql://localhost:3306/basic5?useUnicode=true&characterEncoding=utf8",
                   "root", "root");
           //3.获取Statement对象，作用执行SQL操作
            //Statement createStatement() 创建一个Statement对象来将SQL语句发送到数据库
           Statement stmt = conn.createStatement();
           //ResultSet executeQuery(String sql) 执行给定的SQL语句，该语句返回单个ResultSet对象。
            //int executeUpdate(String sql)执行给定SQL语句，该语句可能为INSERT、UPDATE或DELETE语句
            //ResultSet结果集，作用是用来保存查询结果的
 /*           ResultSet rs = stmt.executeQuery("select * from guestbook");
            List<GuestBook> list = new ArrayList<>();
            while(rs.next()){
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String phone = rs.getString("phone");
                String email = rs.getString("email");
                String title = rs.getString("title");
                String content = rs.getString("content");
                //将从结果集中获取到的数据保存到对象中
                GuestBook gb = new GuestBook();
                gb.setId(id);
                gb.setName(name);
                gb.setPhone(phone);
                gb.setEmail(email);
                gb.setTitle(title);
                gb.setContent(content);
                //将对象保存到List集合中
                list.add(gb);
                //System.out.println(id+"  "+name+"  "+phone);
            }*/
            //int executeUpdate(String sql)执行给定SQL语句，该语句可能为INSERT/UPDATE或DELETE语句
            int i = stmt.executeUpdate("delete from guestbook where id=1");

            //关闭资源
            //rs.close();
            stmt.close();
            conn.close();


        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
